package com.clstu.generic;

import java.util.ArrayList;

public class GenericDetail {
    public static void main(String[] args) {
        Pig<String> p1 = new Pig<>("peiQi");
        p1.f();
        Pig<Integer> pig = new Pig<>(6);//后面尖括号可以不用写，不写更简洁，前面必须写
        //           泛型不可以代表基本数据类型，比如int，double等
        pig.f();
        Pig pig1 = new Pig();
//        pig1.f();//会报错，s默认为null，直接调用null的getClass方法会报错
        ArrayList arrayList = new ArrayList();//看似没有用泛型，其实用了
                                             // 泛型默认是Object类型的

    }
}
class A{}
class B{}
class Pig<E>{
    private E s;
    public Pig(){

    }
    public Pig(E s) {
        this.s = s;
    }
    public void f(){
        System.out.println(s.getClass());
    }
}